1. Technical Field
The present invention relates in general to a system and method for controlling user access to a computer operating environment. In particular, the present invention relates to a system and method for providing a platform-neutral shell application that prevents user access to an underlying operating system.
2. Description of the Related Art
Modern computer software systems often include distributed computing components such as client computer systems and server computer systems. Large organizations may, through time, deploy a number of operating system environments on computer systems distributed throughout the organization. For example, one area of the organization may use Microsoft Windows™ based operating systems on client computers, while another area may use a UNIX-based operating system, such as Linux. Areas may choose different operating system platforms based upon the work being performed by such areas, or based upon purchasing decisions made by management or IT staff.
Computer software systems have computer systems that are often linked to one another using a computer network, such as a local area network (LAN) and/or a wide area network (WAN). Computer systems distributed throughout the organization may communicate with one another using a global computer network, such as the Internet. Communication between computer systems, also called nodes, may be encrypted using technology such as Virtual Private Networks (VPNs) that use encryption to safeguard data that travels over the Internet. In a client/server environment, end-users typically use client computer systems to communicate with applications stored on server computer systems using the computer network.
One challenge in developing software that is deployed on a variety of operating system platforms is designing a user interface that is similar across the various platforms. An enterprise-based system is often deployed across a variety of operating systems. Users of the enterprise-based application are more efficient and productive if the interface, or “look and feel”, of the application remains consistent regardless of the underlying operating system. In addition, a challenge of traditional systems is providing a consistent interface for launching native applications. In a banking example, a teller function may be a native application with a different native application used depending on the underlying operating system. Interface consistency and a common look and feel are helpful, therefore, in launching native applications from a variety of operating systems.
Another challenge in developing software that is deployed on a variety of platforms, is insulating the end-user from the underlying operating system. The computer systems distributed throughout the organization often allow the end-user to access the underlying operating system. As a result, end-users make changes to the operating system attributes and may deliberately or unintentionally add or delete files stored on the computer system used by the end-user. These changes may detrimentally affect the operation of the end-user's computer. In addition, these changes are often unexpected, and therefore unanticipated, by IT staff. As a result, IT staff may spend considerable time analyzing and troubleshooting the client computer system. This challenge is aggravated in environments where more than one person, or user, uses the same computer system to perform their job functions.
What is needed, therefore, is a system and method that provides a platform-neutral desktop environment that is deployed on client computer systems. Furthermore, what is needed is a system and method that locks the platform-neutral desktop environment, thus preventing the end-user from making changes to the computer's underlying operating system.